﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;

using Bricks.Component.Utils;
using Bricks.Site.Models;
using Bricks.Business.Models.AlterManagement;


namespace Bricks.Business.Service
{
    public interface IAlterOrderService
    {
        AlterOrderView GetAlterOrderByID(string alterOrderID);

        List<AlterOrderBillView> GetAlterOrderBillList(Guid alterOrderID);

        AlterOrderView GetAlterOrderBackupByID(Guid id);

        AlterOrderView GetAlterOrderBackupByAlterOrderID(string alterOrderID);

        AlterOrderView GetAlterOrderBackupByCondition(string alterOrderID, string nodeCode, string department, string userName);

        List<AlterOrderBillView> GetAlterOrderBillBackupList(Guid alterOrderID, string nodeCode, string department, string userName);

        void SaveAlterOrder(AlterOrderView alterOrderView, List<AlterOrderBillView> saveList);

        void SaveAlterOrderBackup(AlterOrderView alterOrderView, List<AlterOrderBillView> saveList);

        void DeleteAlterOrderProcessData(string alterOrderID);

        void WithdrawOrBackAlterOrderForRequestNode(string alterOrderID, string nodeCode);

        void WithdrawOrBackAlterOrderForOtherNode(string alterOrderID, string nodeCode, string nodeCodeStr);

        List<AlterOrderView> GetAlterOrderList(Guid projectID, Guid contractID);

        OperationResult DeleteSelectAlterOrder(string alterOrderID);
    }
}